package com.efast.cafe.portal.service.common;

import java.util.HashSet;
import java.util.List;

import com.efast.cafe.framework.vo.TreeVo;
import com.efast.cafe.portal.entity.common.ModuleInfo;
import com.efast.cafe.portal.entity.common.ModuleMenu;
import com.efast.cafe.portal.entity.common.ModulePurview;
import com.efast.cafe.portal.remote.common.ResourceService;
public interface IResourceService extends ResourceService{

	/**
	 * 查询企业拥有的模块
	 * @return
	 */
	public List<ModuleInfo> queryModulesByCompanyCode();
	
	/**
	 * 获取菜单
	 * @return
	 */
	public List<ModuleMenu> queryMenus(Long moduleInfoId);
	
	
	
	/**
	 * 查询当前企业用户拥有的资源权限 ID
	 * @return
	 */
	public HashSet<Long> queryPurviewByCompanyUserAndRole();
	
	/**
	 * 获取当前用户菜单tree
	 * @Date        :      2016-8-18
	 * @return
	 */
	public List<TreeVo> queryCurrentUserMenusTree(String i18n);
	
	/**
	 * 查询当前企业用户拥有的资源权限 URL
	 * @return
	 */
	public HashSet<String> queryPurviewPathByCompanyUserAndRole();
	
	/**
	 * 查询当前企业用户拥有的资源权限 URL 查数据库
	 * @return
	 */
	public HashSet<String> queryPurviewPathByCompanyUserAndRoleDB(String companyCode,String username);
	
	/**
	 * 系统中配置的所有的权限URL
	 * @Date        :      2016-8-3
	 * @return
	 */
	public HashSet<String> queryAllPurviewPath();
	
	/**
	 * 系统中配置的所有的权限URL 查数据库
	 * @Date        :      2016-8-3
	 * @return
	 */
	public HashSet<String> queryAllPurviewPathDB();
	
	/**
	 * 当前企业模块下拥有的权限
	 * @param moduleInfoId
	 * @return
	 */
	public List<ModulePurview> queryPurviewByCompanyCode(Long moduleInfoId);
	
}
